A video codec may comprise an encoder which transforms input video into a compressed representation suitable for storage and/or transmission and a decoder that can uncompress the compressed video representation back into a viewable form, or either one of them. Typically, the encoder discards some information in the original video sequence in order to represent the video in a more compact form, for example at a lower bit rate.
Scalable video coding refers to coding structure where one bitstream can contain multiple representations of the content at different bitrates, resolutions or frame rates. A scalable bitstream typically consists of a “base layer” providing the lowest quality video available and one or more enhancement layers that enhance the video quality when received and decoded together with the lower layers. In order to improve coding efficiency for the enhancement layers, the coded representation of that layer typically depends on the lower layers.
Video coding methods typically utilize motion compensated prediction, where an area in one of the previously coded video frames that corresponds closely to the block being coded is used as reference for encoding the current frame. A reconstructed picture, obtained after the motion compensation, usually has various artifacts such as blocking, ringing etc. In order to eliminate the artifacts, various post-processing operations such as loop filtering are applied. In single loop decoding, used for example in H.264/SVC video coding, enhancement layer pictures are coded only referring to intra coded samples from the base layer and also decoded syntax elements. In other words, temporally predicted blocks are not decoded in the base layer and only a single motion compensated loop is needed to decode the enhancement layer pictures.
Nevertheless, the single loop decoding has drawbacks, mainly due to the fact that syntax elements related to inter pictures still need to be decoded. In other words, entire inter base layer pictures still need to be transmitted to the scalable decoder, even if only a small portion of data within the picture is required for the enhancement layer decoding process. Moreover, single loop decoding is difficultly applicable for standard scalable use-cases, where e.g. enhancement layer is coded with Scalable HEVC coding, while base layer is coded with H.264/AVC coding, since the syntax elements of base layer are needed.